import numpy as np
def GaussQuad(order):
    if order == 1:
        GP = np.array([0.0])
        GW = np.array([2.0])
    elif order == 2:
        GP = np.array([-1.0/np.sqrt(3.0), 1.0/np.sqrt(3.0)])
        GW = np.array([1.0, 1.0])
    elif order == 3:
        GP = np.array([0.774596669241483, -0.774596669241483, 0.0])
        GW = np.array([0.555555555555556, 0.555555555555556, 0.888888888888889])
    elif order == 4:
        GP = np.array([0.86113_63115_94053, -0.86113_63115_94053, 0.33998_10435_84856, -0.33998_10435_84856])
        GW = np.array([0.34785_48451_37454,  0.34785_48451_37454, 0.65214_51548_62546,  0.65214_51548_62546])
    elif order == 5:
        GP = np.array([0.90617_98459_38664, -0.90617_98459_38664, 0.53846_93101_05683, -0.53846_93101_05683, 0.0])
        GW = np.array([0.23692_68850_56189, 0.23692_68850_56189, 0.47862_86704_99366, 0.47862_86704_99366, 0.56888_88888_88889])
    elif order == 6:
        GP = np.array([0.93246_95142_03152, -0.93246_95142_03152, 0.66120_93864_66265, -0.66120_93864_66265, 0.23861_91860_83197, -0.23861_91860_83197])
        GW = np.array([0.17132_44923_79170,  0.17132_44923_79170, 0.36076_15730_48139,  0.36076_15730_48139, 0.46791_39345_72691,  0.46791_39345_72691])
    else:
        raise ValueError("Wrong order!")
    return GP, GW
def TriangleQuad(order):
    pass

def TetrahedronQuad(ordre):
    pass

